#单因素方差分析
#原假设H0：各组之间没有差异，即分组变量的各组对连续性变量没有影响
#前提条件:
#1:各组都符合正态分布shapiro.test
#2:各组方差齐性bartlett.test
#结果解读：结果p值小于等于0.05时，说明组间有差异，使用pairwise.t.test进行多重T检验
#来检测出哪个组和哪个组有差异。
#
#如果不符合正态分布和方差齐性的前提，那么就使用kruskal.test或friedman.test来进行非参数性检验
#在不符合前提条件下：如果各组数据是配对的话，那么就使用friedman.test如果不配对的话就使用kruskal.test
#,配对即各组样本量是否相等或使用同一个样本前后测试三个条件。

#数据解读：lianxifangshi:页面中包含联系方式,
#          baohanshouye：页面标题中包含“首页”，“官网”，且不出现XX网等
#          baohanditu:页面中包含地图，在本次计算中没被加入进来
#数据来源：数据来自2017年5月31日对“珠海黑马医疗器械有限公司”的百度排名数据

d <- read_csv("E:/dataStudent/homeRank.csv")
View(d)
d$note<-NULL
d$url<-NULL
View(d)
d$group<-"X"  #默认全部标记为组X，即只符合标题包含首页、官网；页面包含联系方式；等两个因素中的一种
d$group[d$lianxifangshi=="Y" & d$baohanshouye=="Y"]<-"Y" #标题包含首页、官网等、页面包含联系方式标记为组Y
d$group[d$lianxifangshi=="N" & d$baohanshouye=="N"]<-"N" #标题不包含首页、官网等、页面包含联系方式标记为组N
View(d)
rand.x<-d$rank[d$group=="X"]
rand.y<-d$rank[d$group=="Y"]
rand.n<-d$rank[d$group=="N"]

#前提交接1：检验各组是否符合正态分布
shapiro.test(rand.n)
shapiro.test(rand.x)
shapiro.test(rand.y)
shapiro.test(d$rank)


#前提条件2：检验各组方差齐性
d2<-d[,c(4,6)]
bartlett.test(rank~group,data=d2)

#画出各组箱型图，直观的了解各组数据分布
boxplot(rank~group,data=d2)

#方差分析
sol<-aov(rank~group,data=d2)

#查看结果Pr就是p值
summary(sol)

#多重T检验，检验各组之间的差异，找出哪个组和其他组有明显差异。
sol.t<-pairwise.t.test(d2$rank,d2$group,p.adjust.method = p.adjust.methods)
sol.t #输出结果

#最后结果解读：组Y和组X有明显差异(p值为：0.02),组Y和组N有明显差异(p值为：0.015),
#组N和组X没有差异，
#理解：即标题中包含由“首页”，“官网”等关键字且不出现XX网等关键字；页面中有该公司的联系方式；页面中有地图的页面在百度搜索中有较好的排名。

